home *** CD-ROM | disk | FTP | other *** search
- 10 REM ----------------------------------------------------------------------
- 20 REM
- 30 REM DABAR 2.0
- 40 REM
- 50 REM
- 60 REM WRITTEN IN MICROSOFT BASIC 5.22
- 70 REM
- 100 REM
- 110 REM BASED ON DABAR 1.0 BY DANIEL R. CRIDER
- 120 REM
- 130 REM COPYRIGHT 1986
- 140 REM
- 150 REM
- 160 REM -------------------------- SET UP ARRAYS ----------------------------
- 170 CLEAR
- 180 GOSUB 1370
- 190 PRINT TAB(38) "DABAR 2.0"
- 200 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
- 210 DIM LI(30),US(30)
- 220 ML=0
- 230 DIM W$(9),W1$(9),W2#(9),WD(3,9)
- 240 DIM CONS$(44,7),CN$(23)
- 250 DIM VOW$(12,3)
- 260 DIM FIN$(4,10)
- 270 REM
- 280 REM ----------------------- LOAD HEBREW CHARACTERS ----------------------
- 290 REM
- 300 PRINT:PRINT:PRINT:PRINT
- 310 OPEN "I",#1,"LETTERS.BAS"
- 320 FOR I = 1 TO 44
- 330 PRINT " PLEASE STAND BY ----- LOADING HEBREW CONSONANTS [";I; "]"
- 340 GOSUB 1410
- 350 FOR J=1 TO 7
- 360 LINE INPUT #1,AX$
- 370 CONS$(I,J)=MID$(AX$,13,8)
- 380 NEXT J
- 390 NEXT I
- 400 PRINT
- 410 FOR I = 1 TO 12
- 420 PRINT " ------------------------- LOADING HEBREW VOWELS [";I; "]"
- 430 GOSUB 1410
- 440 FOR J = 1 TO 3
- 450 LINE INPUT #1,AX$
- 460 VOW$(I,J)=MID$(AX$,13,8)
- 470 NEXT J
- 480 NEXT I
- 490 PRINT
- 500 FOR I = 1 TO 4
- 510 PRINT " -------------------- LOADING SPECIAL CHARACTERS [";I; "]"
- 520 GOSUB 1410
- 530 FOR J = 1 TO 10
- 540 LINE INPUT #1,AX$
- 550 FIN$(I,J)=MID$(AX$,13,8)
- 560 NEXT J
- 570 NEXT I
- 580 CLOSE #1
- 590 FOR I = 1 TO 23:READ CN$(I):NEXT I
- 600 REM
- 610 REM ----------------------- RANDOMIZING ----------------------
- 620 REM
- 630 GOSUB 1370
- 640 PRINT:PRINT:PRINT:PRINT
- 650 PRINT " ENTER A NUMBER TO RANDOMIZE WORD SELECTION"
- 660 PRINT " FOR A DIFFERENT DRILL SEQUENCE EACH TIME."
- 670 PRINT " ------------------------------------------"
- 680 PRINT " THE SAME NUMBER GIVES THE SAME SEQUENCE."
- 690 PRINT
- 700 RANDOMIZE
- 710 REM
- 720 REM --------------------------- DRILL SELECTION -------------------------
- 730 REM
- 740 GOSUB 1370
- 750 PRINT "_______________________________________________________________________________"
- 760 PRINT
- 770 PRINT "*** DRILL SELECTION DIRECTORY ***"
- 780 PRINT "_______________________________________________________________________________"
- 790 PRINT:PRINT
- 800 PRINT " [ 1 ] THE HEBREW LETTERS [ 11 ] VOCABULARY #1"
- 810 PRINT " [ 2 ] THE HEBREW VOWELS [ 12 ] VOCABULARY #2"
- 820 PRINT " [ 3 ] THE DAGHES LENE LETTERS [ 13 ] VOCABULARY #3"
- 830 PRINT " [ 4 ] THE INSEPARABLE PREPOSITIONS [ 14 ] VOCABULARY #4"
- 840 PRINT " [ 5 ] THE COMPOSITE SHEWA [ 15 ] VOCABULARY #5"
- 850 PRINT " [ 6 ] THE INDEFINITE ARTICLE [ 16 ] VOCABULARY #6"
- 860 PRINT " [ 7 ] THE PRONOMINAL SUFFIXES [ 17 ] VOCABULARY #7"
- 870 PRINT " [ 8 ] THE PERSONAL PRONOUNS [ 18 ] VOCABULARY #8"
- 880 PRINT " [ 9 ] THE REGULAR VERB (PERFECT) [ 19 ] VOCABULARY #9"
- 890 PRINT " [ 10 ] --------------------------- [ 20 ] VOCABULARY #10"
- 900 PRINT " [ 21 ] EXIT TO CP/M"
- 910 PRINT "_______________________________________________________________________________"
- 920 PRINT:PRINT
- 930 PRINT:PRINT
- 940 INPUT " WHAT IS YOUR CHOICE";CHOICE
- 950 IF (CHOICE = 1) THEN LET F$="VOC1"
- 960 IF (CHOICE = 2) THEN LET F$="VOC2"
- 970 IF (CHOICE = 3) THEN LET F$="VOC3"
- 980 IF (CHOICE = 4) THEN LET F$="VOC4"
- 990 IF (CHOICE = 5) THEN LET F$="VOC5"
- 1000 IF (CHOICE = 6) THEN LET F$="VOC6"
- 1010 IF (CHOICE = 7) THEN LET F$="VOC7"
- 1020 IF (CHOICE = 8) THEN LET F$="VOC8"
- 1030 IF (CHOICE = 9) THEN LET F$="VOC9"
- 1040 IF (CHOICE = 10) THEN LET F$="VOC10"
- 1050 IF (CHOICE = 11) THEN LET F$="VOC11"
- 1060 IF (CHOICE = 12) THEN LET F$="VOC12"
- 1070 IF (CHOICE = 13) THEN LET F$="VOC13"
- 1080 IF (CHOICE = 14) THEN LET F$="VOC14"
- 1090 IF (CHOICE = 15) THEN LET F$="VOC15"
- 1100 IF (CHOICE = 16) THEN LET F$="VOC16"
- 1110 IF (CHOICE = 17) THEN LET F$="VOC17"
- 1120 IF (CHOICE = 18) THEN LET F$="VOC18"
- 1130 IF (CHOICE = 19) THEN LET F$="VOC19"
- 1140 IF (CHOICE = 20) THEN LET F$="VOC20"
- 1150 IF (CHOICE = 21) THEN SYSTEM
- 1160 IF CHOICE<1 OR CHOICE>21 THEN 940
- 1170 OPEN "R",#1,F$,124
- 1180 GOSUB 1370
- 1190 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
- 1200 PRINT " PLEASE STAND BY . . . SCANNING DRILL FILE."
- 1210 FIELD #1,2 AS W$(1),2 AS W$(2),2 AS W$(3),2 AS W$(4),2 AS W$(5),2 AS W$(6),2 AS W$(7),2 AS W$(8),2 AS W$(9),106 AS Y$
- 1220 FIELD #1,18 AS Y3$,2 AS W1$(1),2 AS W1$(2),2 AS W1$(3),2 AS W1$(4),2 AS W1$(5),2 AS W1$(6),2 AS W1$(7),2 AS W1$(8),2 AS W1$(9),88 AS Y5$
- 1230 FIELD #1,36 AS Y4$,2 AS W2$(1),2 AS W2$(2),2 AS W2$(3),2 AS W2$(4),2 AS W2$(5),2 AS W2$(6),2 AS W2$(7),2 AS W2$(8),2 AS W2$(9),70 AS DF$
- 1240 LR=1
- 1250 DL=0
- 1260 GET #1,LR
- 1270 IF EOF(1) GOTO 1320
- 1280 WD(2,1)=CVI(W1$(1))
- 1290 IF WD(2,1)=99 THEN DL=DL+1
- 1300 LR=LR+1
- 1310 GOTO 1260
- 1320 LR=LR-1
- 1330 GOTO 3520
- 1340 REM ************ RING BELL CODE
- 1350 PRINT CHR$(7);CHR$(7);
- 1360 RETURN
- 1370 REM ************ CLEAR SCREEN CODE
- 1380 PRINT CHR$(26)
- 1390 PRINT CHR$(27) CHR$(61) CHR$(31+ROW) CHR$(31-COL);
- 1400 RETURN
- 1410 REM ************ CURSOR UP SCREEN CODE
- 1420 PRINT CHR$(11);
- 1430 RETURN
- 1440 REM ************ CURSOR DOWN SCREEN CODE
- 1450 PRINT CHR$(10);
- 1460 RETURN
- 1470 REM ************ DISPLAY MENU
- 1480 SU=0
- 1490 GOSUB 1370
- 1500 PRINT TAB(30); "CURRENTLY ";LR-DL;" ITEMS ON FILE."
- 1510 PRINT
- 1520 PRINT
- 1530 PRINT "_______________________________________________________________________________"
- 1540 PRINT
- 1550 PRINT "*** DRILL OPERATION MENU ***"
- 1560 PRINT "_______________________________________________________________________________"
- 1570 PRINT
- 1580 PRINT " [ 1 ] GO THROUGH THE ENTIRE DRILL."
- 1590 PRINT " [ 2 ] REVIEW THE LAST [ ? ] ITEMS."
- 1600 PRINT " [ 3 ] REVIEW ENTIRE DRILL AND CONCENTRATE ON LAST [ ? ] ITEMS"
- 1610 PRINT " [ 4 ] CHOOSE ANOTHER DRILL OR END PROGRAM."
- 1620 PRINT " [ 5 ] ENTER FILE UTILITY MENU."
- 1630 PRINT
- 1640 PRINT
- 1650 INPUT " WHAT IS YOUR CHOICE";M
- 1660 IF M>5 OR M<1 THEN 1650
- 1670 ON M GOTO 3520,3290,4180,1680,9110
- 1680 REM ************ RETURN TO DRILL MENU
- 1690 CLOSE #1
- 1700 GOTO 720
- 1710 REM ************ ADD NEW WORDS TO VOCABULARY
- 1720 GOSUB 1370
- 1730 REM ************ SET UP CONSONANTS
- 1740 GOSUB 1370
- 1750 PRINT "ENTER NUMBER OF CONSONANTS PLEASE (ENTER 0 TO RETURN TO MENU) ";
- 1760 INPUT WL
- 1770 IF WL=0 THEN 9110
- 1780 IF WL<10 THEN 1960
- 1790 GOTO 1750
- 1800 REM ************ CONSONANT SELECT MENU
- 1810 GOSUB 1370
- 1820 PRINT "LIMIT IS 9 CONSONANTS"
- 1830 PRINT "SELECT YOUR CONSONANTS BY NUMBER"
- 1840 PRINT "[ 1 ] ALEP [ 10 ] YOD [ 19 ] QOP"
- 1850 PRINT "[ 2 ] BET [ 11 ] KAP [ 20 ] RES"
- 1860 PRINT "[ 3 ] GIMEL [ 12 ] LAMED [ 21 ] SEEN"
- 1870 PRINT "[ 4 ] DALET [ 13 ] MEM [ 22 ] SHEEN"
- 1880 PRINT "[ 5 ] HE [ 14 ] NUN [ 23 ] TAW"
- 1890 PRINT "[ 6 ] WAW [ 15 ] SAMEK [ 24 ] MAQQEPH -"
- 1900 PRINT "[ 7 ] ZAYIN [ 16 ] AYIN [ 25 ] BLANK (NO CONSONANTS)"
- 1910 PRINT "[ 8 ] HET [ 17 ] PE [ 26 ] CORRECT LAST CONSONANT"
- 1920 PRINT "[ 9 ] TET [ 18 ] SADE"
- 1930 PRINT:PRINT
- 1940 PRINT
- 1950 RETURN
- 1960 REM ************ CONSONANT DRIVER
- 1970 IX=0
- 1980 FOR J=1 TO 9
- 1990 WD(2,J)=43
- 2000 NEXT J
- 2010 FOR J=0 TO 9
- 2020 WD(1,J)=12
- 2030 WD(3,J)=12
- 2040 NEXT J
- 2050 GOSUB 1800
- 2060 REM QUICK LOAD CONSONANTS ********************************
- 2070 PRINT "ENTER ALL CONSONANTS BY NUMBER AND SEPARATED BY COMMAS:"
- 2080 PRINT
- 2090 LINE INPUT L$
- 2100 IF LEN(L$)<>WL*3-1 THEN PRINT "WRONG NUMBER OF CONSONANTS":GOTO 2090
- 2110 IL=1
- 2120 FOR WX=WL TO 1 STEP -1
- 2130 IX=IX+1
- 2140 IZ$=MID$(L$,IL,2)
- 2150 IL=IL+3
- 2160 IZ=VAL(IZ$)
- 2170 GOSUB 8730
- 2180 NEXT WX
- 2190 GOTO 2330
- 2200 REM ************ FIX LAST CONSONANT
- 2210 IF IX=1 THEN PRINT "THIS IS YOUR FIRST CONSONANT":GOTO 2210
- 2220 PRINT "WOULD YOU LIKE TO CHANGE CONSONANT NUMBER ";IX-1;" WHICH IS NOW"
- 2230 FOR J=1 TO 7:Z=WD(2,WX+1):PRINT CONS$(Z,J)
- 2240 NEXT J
- 2250 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
- 2260 IF AX$<>"Y" AND AX$<>"N" THEN 2250
- 2270 IF AX$="N" THEN 2050
- 2280 WX=WX+1
- 2290 WD(2,WX)=43
- 2300 IX=IX-1
- 2310 GOTO 2050
- 2320 NEXT WX
- 2330 REM ************ CHECK ALL CONSONANTS
- 2340 WX=1
- 2350 IF IZ=13 THEN ID=24
- 2360 WD(2,WX)=ID
- 2370 GOSUB 1370
- 2380 GOSUB 8000
- 2390 INPUT "ARE THE CONSONANTS CORRECT";AX$
- 2400 IF AX$<>"Y" AND AX$<>"N" THEN 2390
- 2410 IF AX$="Y" THEN GOSUB 2650:GOSUB 8000:GOTO 2720
- 2420 REM ************ FIX SOME CONSONANT
- 2430 GOSUB 2450
- 2440 GOTO 2370
- 2450 REM ************ CONSONANT REPAIR SUBROUTINE
- 2460 PRINT "ENTER CONSONANT NUMBER TO FIX (1 IS FAR RIGHT ";WL;" IS FAR LEFT) ";
- 2470 INPUT IX
- 2480 WX=WL-IX+1
- 2490 PRINT "WOULD YOU LIKE TO CHANGE CONSONANT NUMBER ";IX;" WHICH IS NOW"
- 2500 FOR J=1 TO 7:Z=WD(2,WX):PRINT CONS$(Z,J)
- 2510 NEXT J
- 2520 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
- 2530 IF AX$<>"Y" AND AX$<>"N" THEN 2520
- 2540 IF AX$="N" THEN 2460
- 2550 WD(2,WX)=43
- 2560 GOSUB 1800
- 2570 GOSUB 1410
- 2580 PRINT
- 2590 GOSUB 8610
- 2600 IF WX=1 AND IZ=13 THEN ID=23
- 2610 WD(2,WX)=ID
- 2620 RETURN
- 2630 REM ************ SELECT VOWELS MENU
- 2640 PRINT "SELECT YOUR VOWELS BY NUMBER"
- 2650 PRINT CHR$(26)
- 2660 PRINT "[ 1 ] HOLEM [ 5 ] PATHAH [ 9 ] HATEPH-PATHAH"
- 2670 PRINT "[ 2 ] HIREQ [ 6 ] SEGHOL [ 10 ] HATEPH-SEGHOL"
- 2680 PRINT "[ 3 ] SERE [ 7 ] QUIBBUS [ 11 ] HATEPH-QAMES"
- 2690 PRINT "[ 4 ] QAMES [ 8 ] SHEWA [ 12 ] CORRECT LAST VOWEL"
- 2700 PRINT " [ 13 ] NO VOWEL (BLANK)"
- 2710 RETURN
- 2720 REM ----------------------- QUICK LOAD VOWELS -------------------------
- 2730 PRINT "ENTER ALL VOWELS BY NUMBER AND SEPERATED BY COMMAS:"
- 2740 PRINT
- 2750 LINE INPUT L$
- 2760 IF LEN(L$)<>WL*3-1 THEN PRINT "WRONG NUMBER OF VOWELS ":GOTO 2750
- 2770 IL=1
- 2780 FOR WX=WL TO 1 STEP -1
- 2790 IX=IX+1
- 2800 IZ$=MID$(L$,IL,2)
- 2810 IL=IL+3
- 2820 IZ=VAL(IZ$)
- 2830 IF IZ=1 THEN WD(1,WX)=1
- 2840 IF IZ=13 THEN IZ=12
- 2850 IF IZ<>1 THEN WD(3,WX)=IZ
- 2860 NEXT WX
- 2870 GOTO 3170
- 2880 REM ************ FIX LAST VOWEL
- 2890 IF IX=1 THEN PRINT "THIS IS YOUR FIRST VOWEL.":GOTO 3240
- 2900 PRINT "WOULD YOU LIKE TO CHANGE VOWEL NUMBER ";IX-1;"WHICH IS NOW:"
- 2910 Z=WD(3,WX+1):Z2=WD(1,WX+1)
- 2920 IF Z=12 THEN Z=Z2
- 2930 IF Z=12 THEN PRINT "UNASSIGNED (NO VOWEL YET)":GOTO 3060
- 2940 ON Z GOTO 2950,2960,2970,2980,2990,3000,3010,3020,3030,3040,3050
- 2950 PRINT "HOLEM":GOTO 3060
- 2960 PRINT "HIREQ":GOTO 3060
- 2970 PRINT "SERE":GOTO 3060
- 2980 PRINT "QUAMES":GOTO 3060
- 2990 PRINT "PATHAH":GOTO 3060
- 3000 PRINT "SEGHOL":GOTO 3060
- 3010 PRINT "QUIBBUS":GOTO 3060
- 3020 PRINT "SHEWA":GOTO 3060
- 3030 PRINT "HATEPH-PATHAH":GOTO 3060
- 3040 PRINT "HATEPH-SEGHOL":GOTO 3060
- 3050 PRINT "HATEPH-QUAMES":GOTO 3060
- 3060 FOR J=1 TO 3
- 3070 PRINT VOW$(Z,J)
- 3080 NEXT J
- 3090 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
- 3100 IF AX$<>"Y" AND AX$<>"N" THEN 3090
- 3110 IF AX$="N" THEN 3190
- 3120 WX=WX+1
- 3130 WD(3,WX)=12:WD(1,WX)=12
- 3140 IX=IX-1
- 3150 GOTO 3190
- 3160 NEXT WX
- 3170 REM ************ FINAL VOWEL CHECK
- 3180 GOSUB 1370
- 3190 GOSUB 8000
- 3200 PRINT
- 3210 INPUT "ARE ALL OF THE VOWELS CORRECT (Y OR N)";AX$
- 3220 IF AX$<>"Y" AND AX$<>"N" THEN 3210
- 3230 IF AX$="N" THEN 3270
- 3240 GOSUB 7660
- 3250 IF FZ$="REPAIR" THEN RETURN
- 3260 GOTO 1730
- 3270 GOSUB 4490
- 3280 GOTO 3170
- 3290 REM ************ REVIEW LAST X WORDS
- 3300 GOSUB 1370
- 3310 PRINT "ENTER THE NUMBER OF YOUR MOST RECENT VOCABULARY WORDS YOU WISH TO REVIEW"
- 3320 INPUT "ENTER A 0 TO RETURN TO THE MAIN MENU ";RX
- 3330 IF RX=0 THEN 1470
- 3340 RZ=RX
- 3350 IF RX>30 THEN RZ=30
- 3360 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
- 3370 SS=0:SR=0
- 3380 GOSUB 1370
- 3390 I=INT(RND*15)+1
- 3400 IF I>4 AND I<8 THEN 3490
- 3410 TR=INT(RND*RX)+1
- 3420 TR=TR+(LR-RX)
- 3430 FOR I=1 TO RZ
- 3440 IF US(I)=TR THEN 3410
- 3450 NEXT I
- 3460 GOSUB 4400
- 3470 GOSUB 3810
- 3480 GOTO 3390
- 3490 REM ********** CALL MISS LIST ******
- 3500 GOSUB 3680
- 3510 GOTO 3390
- 3520 REM ************ REVIEW ENTIRE VOCABULARY
- 3530 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
- 3540 SS=0:SR=0
- 3550 RZ=30
- 3560 I=INT(RND*15)+1
- 3570 IF I>4 AND I<8 THEN 3650
- 3580 TR=INT(RND*LR)+1
- 3590 FOR I=1 TO 30
- 3600 IF US(I)=TR THEN 3560
- 3610 NEXT I
- 3620 GOSUB 4400
- 3630 GOSUB 3810
- 3640 GOTO 3560
- 3650 REM ********** CALL MISS LIST ******
- 3660 GOSUB 3680
- 3670 GOTO 3560
- 3680 REM ************ GET ONE OFF OF MISS LIST
- 3690 IF ML=0 THEN RETURN
- 3700 MM=1
- 3710 I=INT(RND*ML)+1
- 3720 TR=LI(I)
- 3730 MI=I
- 3740 GOSUB 4400
- 3750 GOSUB 3810
- 3760 MM=0
- 3770 RETURN
- 3780 REM SCORE **********************************************
- 3790 PRINT "OUT OF ";SS-1;" WORDS YOU HAVE GOTTEN ";SR;"RIGHT!"
- 3800 RETURN
- 3810 REM ******************** TRY THE WORD **************************
- 3820 SS=SS+1
- 3830 UL=UL+1
- 3840 IF UL=LR THEN FOR I=1 TO 30:US(I-1)=0:NEXT I:UL=0
- 3850 IF UL=RZ THEN FOR I=2 TO RZ:US(I-1)=US(I):NEXT I:UL=UL-1
- 3860 US(UL)=TR
- 3870 GOSUB 7970
- 3880 REM
- 3890 PRINT "DEFINITION IS...";
- 3900 INPUT AX$
- 3910 IF AX$="OR" OR AX$="**OR**" THEN 3900
- 3920 IF AX$="SCORE" THEN GOSUB 3780:GOTO 3880
- 3930 IF AX$="MENU" THEN 1470
- 3940 IF AX$="" OR AX$=" " THEN 4060
- 3950 X=INSTR(DF$,AX$)
- 3960 IF X=0 THEN 4060
- 3970 PRINT "*** CORRECT *** ";DF$
- 3980 IF MA=0 THEN SR=SR+1
- 3990 IF MM=0 THEN 4020
- 4000 FOR IJ=MI TO ML-1:LI(IJ)=LI(IJ+1):NEXT IJ
- 4010 ML=ML-1
- 4020 FOR I = 0 TO 1500:NEXT I
- 4030 IF MA<>0 THEN MA=MA-1:GOTO 3870
- 4040 GOTO 4050
- 4050 RETURN
- 4060 PRINT "*** INCORRECT ANSWER ***"
- 4070 GOSUB 1340
- 4080 MA=2
- 4090 IF KY$="N" THEN MA=1
- 4100 PRINT "DEFINITION IS...";DF$
- 4110 ML=ML+1
- 4120 IF ML>30 THEN ML=30
- 4130 LI(ML)=TR
- 4140 PRINT "STRIKE ANY KEY TO CONTINUE"
- 4150 X$=INKEY$
- 4160 IF X$="" THEN 4150
- 4170 GOTO 3810
- 4180 REM ************ REVIEW ENTIRE VOCABULARY--CONCENTRATE ON LAST X WORDS
- 4190 GOSUB 1370
- 4200 PRINT "ENTER THE NUMBER OF YOUR MOST RECENT VOCABULARY WORDS YOU WISH TO REVIEW"
- 4210 INPUT "ENTER A 0 TO RETURN TO THE MAIN MENU ";RX
- 4220 IF RX=0 THEN 1470
- 4230 FOR I=1 TO 30:US(I)=0:LI(I)=0:NEXT I:UL=0:ML=0
- 4240 RZ=30
- 4250 SS=0:SR=0
- 4260 I=INT(RND*15)+1
- 4270 IF I>4 AND I<8 THEN 4370
- 4280 IF I>7 AND I<10 THEN TR=INT(RND*LR)+1:GOTO 4310
- 4290 TR=INT(RND*RX)+1
- 4300 TR=TR+(LR-RX)
- 4310 FOR I=1 TO 30
- 4320 IF US(I)=TR THEN 4290
- 4330 NEXT I
- 4340 GOSUB 4400
- 4350 GOSUB 3810
- 4360 GOTO 4260
- 4370 REM ********** CALL MISS LIST ******
- 4380 GOSUB 3680
- 4390 GOTO 4260
- 4400 REM ************ READ A WORD
- 4410 GET #1, TR
- 4420 FOR I=1 TO 9
- 4430 WD(1,I)=CVI(W$(I))
- 4440 WD(2,I)=CVI(W1$(I))
- 4450 WD(3,I)=CVI(W2$(I))
- 4460 NEXT I
- 4470 IF WD(2,1)=99 THEN TR=TR+1:GOTO 4410
- 4480 RETURN
- 4490 REM ************ CORRECT VOWEL SUBROUTINE
- 4500 PRINT "ENTER THE NUMBER OF THE CONSONANT WHOSE VOWEL YOU WOULD LIKE"
- 4510 PRINT "TO CHANGE. (1 IS FAR RIGHT, ";WL;"IS FAR LEFT)"
- 4520 INPUT IX
- 4530 IF IX=0 THEN RETURN
- 4540 IF IX>WL OR IX<1 THEN 4500
- 4550 WX=WL-IX+1
- 4560 PRINT "WOULD YOU LIKE TO CHANGE VOWEL NUMBER ";IX;"WHICH IS NOW:"
- 4570 Z=WD(3,WX):Z2=WD(1,WX)
- 4580 IF Z=12 THEN Z=Z2
- 4590 IF Z=12 THEN PRINT "UNASSIGNED (NO VOWEL YET)":GOTO 4720
- 4600 ON Z GOTO 4610,4620,4630,4640,4650,4660,4670,4680,4690,4700,4710
- 4610 PRINT "HOLEM":GOTO 4720
- 4620 PRINT "HIREQ":GOTO 4720
- 4630 PRINT "SERE":GOTO 4720
- 4640 PRINT "QUAMES":GOTO 4720
- 4650 PRINT "PATHAH":GOTO 4720
- 4660 PRINT "SEGHOL":GOTO 4720
- 4670 PRINT "QUIBBUS":GOTO 4720
- 4680 PRINT "SHEWA":GOTO 4720
- 4690 PRINT "HATEPH-PATHAH":GOTO 4720
- 4700 PRINT "HATEPH-SEGHOL":GOTO 4720
- 4710 PRINT "HATEPH-QUAMES":GOTO 4720
- 4720 FOR J=1 TO 3
- 4730 PRINT VOW$(Z,J)
- 4740 NEXT J
- 4750 INPUT "ENTER Y TO CHANGE, N TO KEEP ";AX$
- 4760 IF AX$<>"Y" AND AX$<>"N" THEN 4750
- 4770 IF AX$="N" THEN 4490
- 4780 WD(3,WX)=12:WD(1,WX)=12
- 4790 GOSUB 2630
- 4800 GOSUB 8000
- 4810 PRINT "ENTER VOWEL NUMBER FOR CONSONANT NUMBER ";IX
- 4820 INPUT IZ
- 4830 IF IZ<1 OR IZ>12 THEN 4810
- 4840 IF IZ=1 THEN WD(1,WX)=1
- 4850 IF IZ>1 THEN WD(3,WX)=IZ
- 4860 IF IZ=12 THEN WD(1,WX)=12:WD(3,WX)=12
- 4870 RETURN
- 4880 REM ******************* CORRECT VOCABULARY *******************
- 4890 MN$="ON":QK$="N"
- 4900 GOSUB 1370
- 4910 PRINT:PRINT
- 4920 PRINT "_______________________________________________________________________________"
- 4930 PRINT
- 4940 PRINT " [ ? ] ENTER THE NUMBER OF THE WORD YOU WANT TO CORRECT"
- 4950 PRINT " [ 0 ] TO RETURN TO THE UTILITY MENU"
- 4960 PRINT " [ S ] TO SEARCH FOR A WORD AND ITS NUMBER"
- 4970 PRINT
- 4980 PRINT "_______________________________________________________________________________"
- 4990 PRINT:PRINT
- 5000 INPUT "WHAT IS YOUR CHOICE";TR$
- 5010 IF TR$="S" THEN 5200
- 5020 TR=VAL(TR$)
- 5030 IF TR<0 OR TR>LR THEN 4880
- 5040 IF TR=0 THEN GOTO 9110
- 5050 GOSUB 4400
- 5060 DW$=DF$
- 5070 GOSUB 1370
- 5080 GOSUB 8000
- 5090 PRINT "WORD NUMBER ";TR
- 5100 PRINT "DEFINITION IS ";DW$
- 5110 PRINT "_______________________________________________________________________________"
- 5120 PRINT
- 5130 PRINT "[ 1 ] CORRECT CONSONANTS [ 4 ] REDO WORD [ 7 ] GET ANOTHER WORD"
- 5140 PRINT "[ 2 ] CORRECT VOWELS [ 5 ] DELETE WORD [ 8 ] UTILITY MENU"
- 5150 PRINT "[ 3 ] CORRECT DEFINITION [ 6 ] STORE WORD"
- 5160 PRINT
- 5170 INPUT "WHAT IS YOUR CHOICE";FM
- 5180 IF FM>8 OR FM<1 THEN 5170
- 5190 ON FM GOTO 5400,5760,5830,5960,6080,6270,5470,5560
- 5200 REM ************* SEARCH FOR A WORD **************************
- 5210 GOSUB 1370
- 5220 PRINT "ENTER A DEFINITION TO SEARCH FOR (STRIKE ENTER KEY TO ESCAPE"
- 5230 INPUT "SEARCH MODE) ";AX$
- 5240 IF AX$="" THEN 4880
- 5250 PRINT "SEARCHING..... POSSIBLE WORD NUMBERS ARE:"
- 5260 H=0
- 5270 FOR TR=1 TO LR
- 5280 GOSUB 4400
- 5290 X=INSTR(DF$,AX$)
- 5300 IF X=0 THEN 5330
- 5310 H=H+1
- 5320 PRINT TR;" ";
- 5330 NEXT TR
- 5340 PRINT
- 5350 PRINT H;" MATCHES TO SEARCH FOUND "
- 5360 PRINT "STRIKE ANY KEY TO CONTINUE"
- 5370 X$=INKEY$
- 5380 IF X$="" THEN 5370
- 5390 GOTO 4880
- 5400 REM *********** CORRECT CONSONANTS
- 5410 GOSUB 7970
- 5420 INPUT "DO YOU WISH TO CORRECT THE CONSONANTS IN THIS WORD";AX$
- 5430 IF AX$<>"Y" AND AX$<>"N" THEN 5420
- 5440 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 5450 GOSUB 2450
- 5460 GOTO 5400
- 5470 REM *********** GET ANOTHER WORD *********************
- 5480 PRINT "DO YOU WISH TO GET SOME OTHER WORD? "
- 5490 PRINT "BE WARNED....ANY CHANGES YOU HAVE MADE TO THE "
- 5500 PRINT "CURRENT WORD WILL BE DROPPED UNLESS YOU HAVE TAKEN OPTION 6"
- 5510 PRINT "AND STORED YOUR CHANGES TO DISK. STILL WANT ANOTHER WORD?"
- 5520 INPUT "ENTER Y TO GET ANOTHER WORD, N TO KEEP CURRENT WORD";AX$
- 5530 IF AX$<>"Y" AND AX$<>"N" THEN 5520
- 5540 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 5550 GOTO 4880
- 5560 REM ********* RETURN TO MAIN MENU ***************
- 5570 GOSUB 1370
- 5580 PRINT:PRINT
- 5590 PRINT "_______________________________________________________________________________"
- 5600 PRINT
- 5610 PRINT "DO YOU WISH TO RETURN TO THE UTILITY MENU?"
- 5620 PRINT:PRINT
- 5630 PRINT TAB(5) "BE WARNED ... ANY CHANGES YOU HAVE MADE TO THE CURRENT WORD"
- 5640 PRINT TAB(5) "WILL BE DROPPED UNLESS YOU HAVE USED OPTIN [ 6 ] AND STORED"
- 5650 PRINT TAB(5) "YOUR CHANGES TO DISK."
- 5660 PRINT:PRINT
- 5670 PRINT TAB(5) "[ Y ] TO RETURN TO THE UTILITY MENU"
- 5680 PRINT TAB(5) "[ N ] TO RETURN TO THE CORRECTION MENU"
- 5690 PRINT
- 5700 PRINT "_______________________________________________________________________________"
- 5710 PRINT:PRINT
- 5720 INPUT "WHAT IS YOUR CHOICE";AX$
- 5730 IF AX$<>"Y" AND AX$<>"N" THEN 5560
- 5740 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 5750 GOTO 9110
- 5760 REM *********** CORRECT VOWELS ***************************
- 5770 GOSUB 7970
- 5780 INPUT "DO YOU WISH TO CORRECT THE VOWELS IN THIS WORD";AX$
- 5790 IF AX$<>"Y" AND AX$<>"N" THEN 5780
- 5800 IF AX$="N" THEN GOSUB 1370:GOSUB 8000:GOTO 5110
- 5810 GOSUB 4490
- 5820 GOTO 5760
- 5830 REM *********** CORRECT DEFINITION ****************
- 5840 INPUT "DO YOU WISH TO CORRECT THE DEFINITION OF THIS WORD";AX$
- 5850 IF AX$<>"Y" AND AX$<>"N" THEN 5840
- 5860 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 5870 PRINT "ENTER NEW DEFINITION "
- 5880 INPUT DW$
- 5890 IF LEN(DW$)>70 THEN PRINT "DEFINITION IS TOO LONG":GOTO 5870
- 5900 PRINT "DEFINITION OK? "
- 5910 INPUT AX$
- 5920 IF AX$<>"N" AND AX$<>"Y" THEN 5900
- 5930 IF AX$="N" THEN 5870
- 5940 LSET DF$=DW$
- 5950 GOSUB 1370:GOTO 5080
- 5960 REM ********** RE-ENTER WORD ****************************
- 5970 GOSUB 1370
- 5980 GOSUB 8000
- 5990 PRINT "WOULD YOU LIKE TO RE-ENTER THIS WORD FROM SCRATCH? "
- 6000 PRINT "THIS IS THE ONLY WAY TO CHANGE THE NUMBER OF CONSONANTS "
- 6010 INPUT "IN THIS WORD....(ENTER Y TO RE-ENTER, N TO KEEP) ";AX$
- 6020 IF AX$<>"Y" AND AX$<>"N" THEN 5960
- 6030 IF AX$="N" THEN 5050
- 6040 FZ$="REPAIR"
- 6050 GOSUB 1730
- 6060 FZ$=""
- 6070 GOTO 4880
- 6080 REM ******** DELETE WORD *********
- 6090 IF TR=LR THEN 6180
- 6100 PRINT "NOTE: DELETED WORDS MAKE DISK SPACE VERY INEFFICIENT"
- 6110 PRINT "IT IS BETTER TO RE-ENTER WORD FROM SCRATCH THAN TO DELETE"
- 6120 INPUT "DO YOU WISH TO DELETE THIS WORD";AX$
- 6130 IF AX$<>"N" AND AX$<>"Y" THEN 6120
- 6140 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 6150 WD(2,1)=99:PRINT "NOW DELETING WORD # ";TR
- 6160 LR=LR-1
- 6170 GOTO 6350
- 6180 PRINT "THIS IS CURRENTLY THE LAST WORD IN THE FILE"
- 6190 GOSUB 1340:GOSUB 1340:GOSUB 1340
- 6200 PRINT "THE LAST RECORD CANNOT BE DELETED"
- 6210 PRINT "WHY DON'T YOU TRY RE-ENTERING SOME OTHER"
- 6220 PRINT "WORD FROM SCRATCH IN ITS PLACE?"
- 6230 PRINT "STRIKE ANY KEY TO CONTINUE"
- 6240 X$=INKEY$
- 6250 IF X$="" THEN 6240
- 6260 GOTO 4880
- 6270 REM ******* WRITE CORRECTED WORD TO DISK **********
- 6280 GOSUB 1370
- 6290 GOSUB 7970
- 6300 PRINT "DEFINITION IS ";DF$
- 6310 INPUT "READY TO WRITE THIS CORRECTED WORD TO DISK? ";AX$
- 6320 IF AX$<>"Y" AND AX$<>"N" THEN 6310
- 6330 IF AX$="N" THEN GOSUB 1370:GOTO 5080
- 6340 PRINT "NOW STORING ON RECORD NUMBER ";TR
- 6350 ON ERROR GOTO 7900
- 6360 FOR I=1 TO 9
- 6370 LSET W$(I)=MKI$(WD(1,I))
- 6380 LSET W1$(I)=MKI$(WD(2,I))
- 6390 LSET W2$(I)=MKI$(WD(3,I))
- 6400 NEXT I
- 6410 LSET DF$=DW$
- 6420 PUT #1,TR
- 6430 ON ERROR GOTO 0
- 6440 GOTO 4880
- 6450 REM ************ PRINT ENTIRE VOCABULARY
- 6460 PRINT "DO YOU WISH TO PRINT OUT THE ENTIRE VOCABULARY? (Y OR N)";
- 6470 INPUT AX$
- 6480 IF AX$<>"Y" AND AX$<>"N" THEN 6460
- 6490 BV=1: LV=LR:IP=0
- 6500 IF AX$="Y" THEN 6600
- 6510 PRINT "DO YOU WISH TO PRINT OUT PART OF THE VOCABULARY? (Y OR N)";
- 6520 INPUT AX$
- 6530 IF AX$<>"Y" AND AX$<>"N" THEN 6510
- 6540 IF AX$="N" THEN 1470
- 6550 INPUT "ENTER FIRST WORD NUMBER TO LIST ";BV
- 6560 INPUT "ENTER LAST WORD NUMBER TO LIST ";LV
- 6570 IF BV<1 THEN BV=1
- 6580 IF LV>LR THEN LV=LR
- 6590 GOTO 6640
- 6600 PRINT "DO YOU WISH A SORTED LISTING";
- 6610 INPUT AX$
- 6620 IF AX$<>"Y" AND AX$<>"N" THEN 6600
- 6630 IF AX$="Y" THEN 6690
- 6640 FOR TR=BV TO LV
- 6650 GOSUB 4400
- 6660 GOSUB 7050
- 6670 NEXT TR
- 6680 GOTO 1470
- 6690 REM ************ SORT ROUTINE **********************
- 6700 GOSUB 1370:PRINT "STANDBY FOR SORT (THIS MAY TAKE A WHILE)"
- 6710 DIM SO$(LR), SO(LR)
- 6720 FOR TR=1 TO LR
- 6730 GOSUB 4400:PRINT "RECORD ";TR:GOSUB 1410
- 6740 FOR I=1 TO 8
- 6750 IF WD(2,I)=43 AND WD(2,I+1)=43 THEN WL=I-1:GOTO 6770
- 6760 NEXT I
- 6770 CD$="":FOR I=WL TO 1 STEP -1
- 6780 Z=WD(2,I)
- 6790 IF Z=24 THEN Z=22
- 6800 ZX=Z+65
- 6810 IF Z=43 THEN ZX=64
- 6820 CD$=CD$+CHR$(ZX)
- 6830 NEXT I
- 6840 SO$(TR)=CD$:SO(TR)=TR
- 6850 NEXT TR
- 6860 PRINT
- 6870 PRINT "FIRST PASS COMPLETE, BEGINNING SECOND PASS":PRINT
- 6880 FOR I=1 TO LR-1
- 6890 FOR J=1 TO LR-1
- 6900 IF SO$(J)<SO$(J+1) THEN 6950
- 6910 TP$=SO$(J):TP=SO(J)
- 6920 SO$(J)=SO$(J+1):SO(J)=SO(J+1)
- 6930 SO$(J+1)=TP$:SO(J+1)=TP
- 6940 GOSUB 1410:PRINT "I= ";I;" J= ";J
- 6950 NEXT J:NEXT I
- 6960 PRINT "SORT COMPLETE....BEGINNING PRINTOUT"
- 6970 FOR SI=1 TO LR
- 6980 TR=SO(SI)
- 6990 IF TR<1 OR TR>LR THEN 7010
- 7000 GOSUB 4400:GOSUB 7050
- 7010 NEXT SI
- 7020 LPRINT CHR$(12);CHR$(12)
- 7030 ERASE SO$, SO
- 7040 GOTO 1470
- 7050 REM ************ PRINT A WORD ROUTINE
- 7060 IP=IP+1
- 7070 IF IP<>4 THEN 7100
- 7080 IP=1:LPRINT STRING$(70,"*")
- 7090 FOR IZ=1 TO 17:LPRINT:NEXT IZ
- 7100 LPRINT STRING$(70,"*")
- 7110 LPRINT "WORD NUMBER ";TR;" DEFINITION IS "
- 7120 LPRINT DF$
- 7130 Z=WD(2,1)
- 7140 LPRINT " ";
- 7150 FOR I=1 TO 9
- 7160 Z=WD(1,I)
- 7170 LPRINT VOW$(Z,3);
- 7180 NEXT I
- 7190 LPRINT
- 7200 FOR J=1 TO 7
- 7210 FOR I=0 TO 9
- 7220 Z=WD(2,I)
- 7230 IF I<>0 THEN 7340
- 7240 Z2=WD(2,1)
- 7250 IF Z2<>18 AND Z2<>25 AND Z2<>30 AND Z2<>32 THEN 7330
- 7260 Z2=WD(3,1)
- 7270 IF J<4 OR J>6 THEN 7330
- 7280 Z3$=VOW$(Z2,J-3)
- 7290 Z4$=MID$(Z3$,4,3)
- 7300 LPRINT Z4$;
- 7310 GOTO 7340
- 7320 Z=WD(2,1)
- 7330 LPRINT " ";
- 7340 IF I<>1 THEN 7410
- 7350 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 7410
- 7360 IF Z=18 THEN LPRINT FIN$(1,J);
- 7370 IF Z=25 THEN LPRINT FIN$(2,J);
- 7380 IF Z=30 THEN LPRINT FIN$(3,J);
- 7390 IF Z=32 THEN LPRINT FIN$(4,J);
- 7400 GOTO 7420
- 7410 LPRINT CONS$(Z,J);
- 7420 NEXT I
- 7430 LPRINT
- 7440 NEXT J
- 7450 FOR J=0 TO 3
- 7460 FOR I=0 TO 9
- 7470 Z2=WD(3,I)
- 7480 IF I<>0 THEN 7510
- 7490 LPRINT " ";
- 7500 GOTO 7610
- 7510 IF I<>1 THEN GOTO 7590
- 7520 Z=WD(2,1)
- 7530 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 7590
- 7540 IF Z=18 THEN LPRINT FIN$(1,J+7);
- 7550 IF Z=25 THEN LPRINT FIN$(2,J+7);
- 7560 IF Z=30 THEN LPRINT FIN$(3,J+7);
- 7570 IF Z=32 THEN LPRINT FIN$(4,J+7);
- 7580 GOTO 7610
- 7590 IF J=0 THEN LPRINT " ";
- 7600 IF J<>0 THEN LPRINT VOW$(Z2,J);
- 7610 NEXT I
- 7620 LPRINT
- 7630 NEXT J
- 7640 LPRINT
- 7650 RETURN
- 7660 REM ************ WRITE RECORD TO DISK
- 7670 ON ERROR GOTO 7900
- 7680 PRINT "WHAT IS THE DEFINITION OF THIS WORD?"
- 7690 INPUT DW$
- 7700 IF LEN(DW$)>70 THEN PRINT "YOUR DEFINITION IS TOO LONG, PLEASE ENTER A SHORTER ONE":GOTO 7680
- 7710 INPUT "READY TO WRITE ON DISK? (Y OR N) ";AX$
- 7720 IF AX$<>"Y" AND AX$<>"N" THEN 7710
- 7730 IF AX$="N" THEN 7680
- 7740 IF FZ$<>"REPAIR" THEN 7770
- 7750 LHOLD=LR
- 7760 LR=TR-1
- 7770 PRINT "STORING ON DISK RECORD ";LR+1
- 7780 FOR I=1 TO 9
- 7790 LSET W$(I)=MKI$(WD(1,I))
- 7800 LSET W1$(I)=MKI$(WD(2,I))
- 7810 LSET W2$(I)=MKI$(WD(3,I))
- 7820 NEXT I
- 7830 LSET DF$=DW$
- 7840 LR=LR+1
- 7850 PUT #1,LR
- 7860 ON ERROR GOTO 0
- 7870 IF FZ$<>"REPAIR" THEN RETURN
- 7880 LR=LHOLD
- 7890 RETURN
- 7900 REM ************ ERROR CONTROL
- 7910 PRINT "ERROR IS ";ERR
- 7920 IF ERR=61 THEN PRINT "YOUR DISK IS OUT OF SPACE"
- 7930 PRINT "PRESS ANY KEY TO CONTINUE"
- 7940 X$=INKEY$
- 7950 IF X$="" THEN 7940
- 7960 RESUME NEXT
- 7970 REM ************ DISPLAY WORD ROUTINE
- 7980 GOSUB 1370
- 7990 IF SS<>1 THEN PRINT "SCORE IS CURRENTLY: ";INT((SR/(SS-1))*100)
- 8000 FOR I = 1 TO 8
- 8010 IF WD(2,I)=43 AND WD(2,I+1)=43 THEN WL=I-1:GOTO 8030
- 8020 NEXT I
- 8030 Z=WD(2,1)
- 8040 TX=INT((9-WL)/2)*8
- 8050 PRINT TAB(TX);
- 8060 PRINT " ";
- 8070 FOR I=1 TO WL
- 8080 Z=WD(1,I)
- 8090 PRINT VOW$(Z,3);
- 8100 NEXT I
- 8110 PRINT
- 8120 REM CALL POINT FOR NEW WORD
- 8130 FOR J=1 TO 7
- 8140 PRINT TAB(TX);
- 8150 FOR I=0 TO WL
- 8160 Z=WD(2,I)
- 8170 IF I<>0 THEN 8280
- 8180 Z2=WD(2,1)
- 8190 IF Z2<>18 AND Z2<>25 AND Z2<>30 AND Z2<>32 THEN 8270
- 8200 Z2=WD(3,1)
- 8210 IF J<4 OR J>6 THEN 8270
- 8220 Z3$=VOW$(Z2,J-3)
- 8230 Z4$=MID$(Z3$,4,3)
- 8240 PRINT Z4$;
- 8250 GOTO 8280
- 8260 Z=WD(2,1)
- 8270 PRINT " ";
- 8280 IF I<>1 THEN 8350
- 8290 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 8350
- 8300 IF Z=18 THEN PRINT FIN$(1,J);
- 8310 IF Z=25 THEN PRINT FIN$(2,J);
- 8320 IF Z=30 THEN PRINT FIN$(3,J);
- 8330 IF Z=32 THEN PRINT FIN$(4,J);
- 8340 GOTO 8360
- 8350 PRINT CONS$(Z,J);
- 8360 NEXT I
- 8370 PRINT
- 8380 NEXT J
- 8390 FOR J=0 TO 3
- 8400 PRINT TAB(TX);
- 8410 FOR I=0 TO WL
- 8420 Z2=WD(3,I)
- 8430 IF I<>0 THEN 8460
- 8440 PRINT " ";
- 8450 GOTO 8560
- 8460 IF I<>1 THEN GOTO 8540
- 8470 Z=WD(2,1)
- 8480 IF Z<>18 AND Z<>25 AND Z<>30 AND Z<>32 THEN 8540
- 8490 IF Z=18 THEN PRINT FIN$(1,J+7);
- 8500 IF Z=25 THEN PRINT FIN$(2,J+7);
- 8510 IF Z=30 THEN PRINT FIN$(3,J+7);
- 8520 IF Z=32 THEN PRINT FIN$(4,J+7);
- 8530 GOTO 8560
- 8540 IF J=0 THEN PRINT " ";
- 8550 IF J<>0 THEN PRINT VOW$(Z2,J);
- 8560 NEXT I
- 8570 PRINT
- 8580 NEXT J
- 8590 PRINT
- 8600 RETURN
- 8610 REM ************ CONSONANT DATA MATCH SUBROUTINE
- 8620 PRINT "INPUT YOUR CHOICE FOR CONSONANT NUMBER ";IX
- 8630 INPUT IZ
- 8640 IF IX=1 OR IZ<>25 THEN 8710
- 8650 IF WD(2,WX+1)=43 THEN 8670
- 8660 GOTO 8700
- 8670 PRINT "DOUBLE BLANKS OR BLANKS AT THE BEGINNING OF A WORD"
- 8680 PRINT "ARE NOT ALLOWED, PLEASE TRY SOMETHING ELSE"
- 8690 GOTO 8620
- 8700 IF IZ=0 THEN GOSUB 1370:GOSUB 1840:GOSUB 7970:GOTO 8610
- 8710 IF IZ>26 OR IZ<1 THEN 8630
- 8720 IF IZ=26 THEN 9070
- 8730 DX$="N"
- 8740 IF IZ>23 THEN 8780
- 8750 IF WX=1 AND (IZ=11 OR IZ=13 OR IZ=14 OR IZ=18 OR IZ=19) THEN 8790
- 8760 IF QK$="Y" AND IZ<>1 AND IZ<>5 AND IZ<>8 AND IZ<>16 AND IZ<>21 THEN PRINT "FOR THE ";CN$(IZ);" IN CONS # ";IX;
- 8770 IF IZ<>1 AND IZ<>5 AND IZ<>8 AND IZ<>16 AND IZ<>21 THEN INPUT "DAGHES NEEDED IN LETTER? (Y OR N) ";DX$
- 8780 IF DX$<>"N" AND DX$<>"Y" THEN 8730
- 8790 ID=IZ
- 8800 IF IZ=3 THEN ID=4
- 8810 IF IZ=4 THEN ID=6
- 8820 IF IZ=5 THEN ID=8
- 8830 IF IZ=6 THEN ID=9
- 8840 IF IZ=6 AND DX$="N" THEN INPUT "IS THIS A SUREQ WAW? (Y OR N) ";DX$
- 8850 IF DX$<>"N" AND DX$<>"Y" AND IZ=6 THEN DX$="N":GOTO 8840
- 8860 IF IZ=7 THEN ID=11
- 8870 IF IZ=8 THEN ID=13
- 8880 IF IZ=9 THEN ID=14
- 8890 IF IZ=10 THEN ID=16
- 8900 IF IZ=11 THEN ID=18
- 8910 IF IZ=12 THEN ID=20
- 8920 IF IZ=13 THEN ID=22
- 8930 IF IZ=14 THEN ID=25
- 8940 IF IZ=15 THEN ID=27
- 8950 IF IZ=16 THEN ID=29
- 8960 IF IZ=17 THEN ID=30
- 8970 IF IZ=18 THEN ID=32
- 8980 IF IZ=19 THEN ID=34
- 8990 IF IZ=20 THEN ID=36
- 9000 IF IZ=21 THEN ID=37
- 9010 IF IZ=22 THEN ID=39
- 9020 IF IZ=23 THEN ID=41
- 9030 IF IZ=24 THEN ID=44
- 9040 IF IZ=25 THEN ID=43
- 9050 IF DX$="Y" THEN ID=ID+1
- 9060 WD(2,WX)=ID
- 9070 RETURN
- 9080 DATA "ALEP","BET","GIMEL","DALET","HE","WAW","ZAYIN","HET","TET","YOD"
- 9090 DATA "KAP","LAMED","MEM","NUN","SAMEK","AYIN","PE","SADE","KOP","RES"
- 9100 DATA "SEEN","SHEEN","TAW"
- 9110 GOSUB 1370
- 9120 PRINT "_______________________________________________________________________________"
- 9130 PRINT
- 9140 PRINT "*** FILE UTILITY MENU ***"
- 9150 PRINT "_______________________________________________________________________________"
- 9160 PRINT:PRINT
- 9170 PRINT " [ 1 ] ADD NEW ITEMS TO THE DRILL FILE."
- 9180 PRINT " [ 2 ] WORK ON THE CHARACTERS IN THE EXISTING FILE."
- 9190 PRINT " [ 3 ] PRINT ALL THE CHARACTERS IN THE EXISTING FILE."
- 9200 PRINT " [ 4 ] RETURN TO THE DRILL OPERATION MENU."
- 9210 PRINT " [ 5 ] RETURN TO THE DRILL SELECTION MENU."
- 9220 PRINT:PRINT
- 9230 INPUT " WHAT IS YOUR CHOICE";U
- 9240 IF U>5 OR U<1 THEN GOTO 9230
- 9250 ON U GOTO 1710,4880,6450,1490,1680
- INT:PRINT
- 9230 INPUT " WHAT IS YOUR CHOICE";U
- 9240 IF